[Dependency Analysis] Fix buildHealth Failure on Kotlin 2.4.0 Metadata - #23151
Open
ParaskP7 wants to merge 1 commit into
Open
[Dependency Analysis] Fix buildHealth Failure on Kotlin 2.4.0 Metadata#23151ParaskP7 wants to merge 1 commit into
buildHealth Failure on Kotlin 2.4.0 Metadata#23151ParaskP7 wants to merge 1 commit into
Conversation
Force a newer kotlin-metadata-jvm onto the root buildscript classpath so the dependency analysis plugin's ExplodeJarTask can read Kotlin 2.4.0 metadata instead of failing with "Provided Metadata instance has version 2.4.0, while maximum supported version is 2.3.0". The project's own Kotlin bump to 2.4.10 (#23086) makes every module emit 2.4.0 metadata, which exceeds the 2.3.0 cap of the kotlin-metadata-jvm:2.2.21 reader that dependency-analysis 3.17.0 bundles, so buildHealth's explodeJar tasks fail on the weekly CI job. DAGP resolves kotlin-metadata-jvm unshaded into the same buildscript classpath configuration used here, so Gradle's ordinary conflict resolution upgrades both to the higher version (2.2.21 -> 2.4.10). Pinned to this project's own Kotlin version so it never forces a newer kotlin-stdlib onto DAGP's classpath than the project already uses elsewhere. Interim workaround endorsed by the plugin author; removable once upstream isolates kotlin-metadata-jvm onto its own worker classpath: autonomousapps/dependency-analysis-gradle-plugin#1661 autonomousapps/dependency-analysis-gradle-plugin#1719 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
Generated by 🚫 Danger |
Contributor
Build environment changeslist! Upgraded Dependencies
org.jetbrains.kotlin:kotlin-metadata-jvm:2.4.10, (changed from 2.2.21)
org.jetbrains.kotlin:kotlin-stdlib:2.4.10, (changed from 2.3.20)tree-+--- com.automattic.android.measure-builds:com.automattic.android.measure-builds.gradle.plugin:3.2.2
-| \--- com.automattic.android:measure-builds:3.2.2
-| +--- io.ktor:ktor-client-core:3.1.1
-| | \--- io.ktor:ktor-client-core-jvm:3.1.1
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
-| | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20
-| | | +--- org.jetbrains:annotations:13.0 -> 23.0.0
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 2.2.21 (c)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 2.2.21 (c)
-| | +--- io.ktor:ktor-http:3.1.1
-| | | \--- io.ktor:ktor-http-jvm:3.1.1
-| | | +--- io.ktor:ktor-utils:3.1.1
-| | | | \--- io.ktor:ktor-utils-jvm:3.1.1
-| | | | +--- io.ktor:ktor-io:3.1.1
-| | | | | \--- io.ktor:ktor-io-jvm:3.1.1
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-io-core:0.6.0
-| | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.6.0
-| | | | | | +--- org.jetbrains.kotlinx:kotlinx-io-bytestring:0.6.0
-| | | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.6.0
-| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.3.20 (*)
-| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.3.20 (*)
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.0
-| | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.0
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- io.ktor:ktor-http-cio:3.1.1
-| | | \--- io.ktor:ktor-http-cio-jvm:3.1.1
-| | | +--- io.ktor:ktor-network:3.1.1
-| | | | \--- io.ktor:ktor-network-jvm:3.1.1
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- io.ktor:ktor-events:3.1.1
-| | | \--- io.ktor:ktor-events-jvm:3.1.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- io.ktor:ktor-websocket-serialization:3.1.1
-| | | \--- io.ktor:ktor-websocket-serialization-jvm:3.1.1
-| | | +--- io.ktor:ktor-serialization:3.1.1
-| | | | \--- io.ktor:ktor-serialization-jvm:3.1.1
-| | | | +--- io.ktor:ktor-websockets:3.1.1
-| | | | | \--- io.ktor:ktor-websockets-jvm:3.1.1
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- io.ktor:ktor-sse:3.1.1
-| | | \--- io.ktor:ktor-sse-jvm:3.1.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.10.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20 (*)
-| +--- io.ktor:ktor-client-cio:3.1.1
-| | \--- io.ktor:ktor-client-cio-jvm:3.1.1
-| | +--- io.ktor:ktor-network-tls:3.1.1
-| | | \--- io.ktor:ktor-network-tls-jvm:3.1.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| +--- io.ktor:ktor-client-logging:3.1.1
-| | \--- io.ktor:ktor-client-logging-jvm:3.1.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| +--- io.ktor:ktor-client-serialization:3.1.1
-| | \--- io.ktor:ktor-client-serialization-jvm:3.1.1
-| | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0
-| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.0
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20 (*)
-| | +--- io.ktor:ktor-client-json:3.1.1
-| | | \--- io.ktor:ktor-client-json-jvm:3.1.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| +--- io.ktor:ktor-client-content-negotiation-jvm:3.1.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| +--- io.ktor:ktor-serialization-kotlinx-json:3.1.1
-| | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:3.1.1
-| | +--- io.ktor:ktor-serialization-kotlinx:3.1.1
-| | | \--- io.ktor:ktor-serialization-kotlinx-jvm:3.1.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.8.0
-| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-io-jvm:1.8.0
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
++--- org.jetbrains.kotlin:kotlin-metadata-jvm:2.4.10
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.4.10
+| +--- org.jetbrains:annotations:13.0 -> 23.0.0
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 2.2.21 (c)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 2.2.21 (c)
++--- com.automattic.android.measure-builds:com.automattic.android.measure-builds.gradle.plugin:3.2.2
+| \--- com.automattic.android:measure-builds:3.2.2
+| +--- io.ktor:ktor-client-core:3.1.1
+| | \--- io.ktor:ktor-client-core-jvm:3.1.1
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
+| | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-http:3.1.1
+| | | \--- io.ktor:ktor-http-jvm:3.1.1
+| | | +--- io.ktor:ktor-utils:3.1.1
+| | | | \--- io.ktor:ktor-utils-jvm:3.1.1
+| | | | +--- io.ktor:ktor-io:3.1.1
+| | | | | \--- io.ktor:ktor-io-jvm:3.1.1
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-io-core:0.6.0
+| | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.6.0
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-io-bytestring:0.6.0
+| | | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.6.0
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.4.10 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.4.10 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.0
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.0
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.4.10 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-http-cio:3.1.1
+| | | \--- io.ktor:ktor-http-cio-jvm:3.1.1
+| | | +--- io.ktor:ktor-network:3.1.1
+| | | | \--- io.ktor:ktor-network-jvm:3.1.1
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-events:3.1.1
+| | | \--- io.ktor:ktor-events-jvm:3.1.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-websocket-serialization:3.1.1
+| | | \--- io.ktor:ktor-websocket-serialization-jvm:3.1.1
+| | | +--- io.ktor:ktor-serialization:3.1.1
+| | | | \--- io.ktor:ktor-serialization-jvm:3.1.1
+| | | | +--- io.ktor:ktor-websockets:3.1.1
+| | | | | \--- io.ktor:ktor-websockets-jvm:3.1.1
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-sse:3.1.1
+| | | \--- io.ktor:ktor-sse-jvm:3.1.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.10.1
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.4.10 (*)
+| +--- io.ktor:ktor-client-cio:3.1.1
+| | \--- io.ktor:ktor-client-cio-jvm:3.1.1
+| | +--- io.ktor:ktor-network-tls:3.1.1
+| | | \--- io.ktor:ktor-network-tls-jvm:3.1.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| +--- io.ktor:ktor-client-logging:3.1.1
+| | \--- io.ktor:ktor-client-logging-jvm:3.1.1
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| +--- io.ktor:ktor-client-serialization:3.1.1
+| | \--- io.ktor:ktor-client-serialization-jvm:3.1.1
+| | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0
+| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.0
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.4.10 (*)
+| | +--- io.ktor:ktor-client-json:3.1.1
+| | | \--- io.ktor:ktor-client-json-jvm:3.1.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| +--- io.ktor:ktor-client-content-negotiation-jvm:3.1.1
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| +--- io.ktor:ktor-serialization-kotlinx-json:3.1.1
+| | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:3.1.1
+| | +--- io.ktor:ktor-serialization-kotlinx:3.1.1
+| | | \--- io.ktor:ktor-serialization-kotlinx-jvm:3.1.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.8.0
+| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-io-jvm:1.8.0
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.4.10 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
+--- org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin:0.9.9
| \--- org.jetbrains.kotlinx:kover-gradle-plugin:0.9.9
| \--- org.jetbrains.kotlinx:kover-features-jvm:0.9.9
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.4.10 (*)
+--- com.autonomousapps.dependency-analysis:com.autonomousapps.dependency-analysis.gradle.plugin:3.17.0
| \--- com.autonomousapps:dependency-analysis-gradle-plugin:3.17.0
| +--- org.jetbrains.kotlin:kotlin-bom:2.2.21
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (c)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (c)
| +--- com.autonomousapps:graph-support:0.12.0
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (*)
| +--- com.autonomousapps:variant-artifacts:0.6.0
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (*)
| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.21
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (*)
| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.21
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (*)
| +--- com.squareup.moshi:moshi-kotlin:1.15.2
| | +--- com.squareup.moshi:moshi:1.15.2
| | | \--- com.squareup.okio:okio:3.7.0 -> 3.16.4
| | | \--- com.squareup.okio:okio-jvm:3.16.4
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.20 -> 2.3.20 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.20 -> 2.4.10 (*)
| | \--- org.jetbrains.kotlin:kotlin-reflect:1.8.21 -> 2.2.21
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.21 -> 2.4.10 (*)
| +--- dev.zacsweers.moshix:moshi-sealed-reflect:0.30.0
| | +--- dev.zacsweers.moshix:moshi-sealed-runtime:0.30.0
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.3.20 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.4.10 (*)
| | +--- com.squareup:kotlinpoet:2.1.0
| | | \--- com.squareup:kotlinpoet-jvm:2.1.0
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.3.20 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.10 -> 2.4.10 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.4.10 (*)
-| \--- org.jetbrains.kotlin:kotlin-metadata-jvm:2.2.21
+| \--- org.jetbrains.kotlin:kotlin-metadata-jvm:2.2.21 -> 2.4.10 (*)
+--- androidx.navigation.safeargs.kotlin:androidx.navigation.safeargs.kotlin.gradle.plugin:2.9.8
| \--- androidx.navigation:navigation-safe-args-gradle-plugin:2.9.8
| \--- androidx.navigation:navigation-safe-args-generator:2.9.8
| +--- androidx.annotation:annotation:1.9.1
| | \--- androidx.annotation:annotation-jvm:1.9.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.4.10 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.3.20 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.4.10 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.3.20 (c)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.4.10 (c)
+--- com.android.application:com.android.application.gradle.plugin:9.3.1
| \--- com.android.tools.build:gradle:9.3.1
| +--- com.android.tools.build:gradle-settings-api:9.3.1
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| | \--- com.android.tools.build:gradle-common-api:9.3.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| +--- com.android.tools.build:aaptcompiler:9.3.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| +--- com.android.tools.lint:lint-model:32.3.1
| | \--- com.android.tools.build:builder-model:9.3.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| +--- androidx.databinding:databinding-compiler-common:9.3.1
| | \--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.4.10 (*)
| +--- com.android.tools.utp:gradle-work-action-api:32.3.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| +--- com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.4.10 (*)
| +--- com.android.tools.build:builder:9.3.1
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| | \--- com.android.tools.build:manifest-merger:32.3.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
| \--- com.android.tools.build:gradle-api:9.3.1
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
+--- com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.3.10
| \--- com.google.devtools.ksp:symbol-processing-gradle-plugin:2.3.10
| +--- com.google.devtools.ksp:symbol-processing-api:2.3.10
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.3.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.3.20 -> 2.4.10 (*)
| \--- com.google.devtools.ksp:symbol-processing-common-deps:2.3.10
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.3.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.3.20 -> 2.4.10 (*)
+--- com.android.legacy-kapt:com.android.legacy-kapt.gradle.plugin:9.3.1
| \--- com.android.tools.build:gradle-kotlin:9.3.1
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.4.10 (*)
+--- androidx.room:androidx.room.gradle.plugin:2.8.4
| \--- androidx.room:room-gradle-plugin:2.8.4
-| +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.3.20 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.4.10 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.3.20 (c)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.4.10 (c) |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a build-time workaround to address dependency-analysis-gradle-plugin (buildHealth) failures when consuming Kotlin 2.4.x metadata, by ensuring a compatible kotlin-metadata-jvm is available on the buildscript classpath.
Changes:
- Add
org.jetbrains.kotlin:kotlin-metadata-jvmto the Gradle version catalog, aligned to the project’s Kotlin version. - Add a root
buildscriptclasspath dependency to override/upgrade the metadata reader used during dependency analysis.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| gradle/libs.versions.toml | Adds a kotlin-metadata-jvm catalog entry tied to kotlin-main. |
| build.gradle | Adds a buildscript classpath dependency intended to override DAGP’s metadata reader. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
|
|
Contributor
|
|
ParaskP7
marked this pull request as ready for review
July 27, 2026 20:16
ParaskP7
requested review from
nbradbury and
wzieba
and removed request for
a team
July 27, 2026 20:16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Closes: AINFRA-2722
Description
The weekly scheduled
buildHealthjob (dependency analysis) has been failing on trunk since #23086, which bumped Kotlin from 2.3.21 to 2.4.10. With the project itself now compiled by Kotlin 2.4.x, its own modules emitkotlin.Metadataversion 2.4.0, and that metadata version lands on the classpath the plugin inspects. The dependency analysis plugin (DAGP) bundles akotlin-metadata-jvmreader capped at Kotlin metadata 2.3.0, so itsExplodeJarTaskfails withProvided Metadata instance has version 2.4.0, while maximum supported version is 2.3.0whenever it inspects one of those jars.This PR fixes the failure without reverting the Kotlin bump:
kotlin-metadata-jvmonto the root buildscript classpath, tracked to this project's own Kotlin version, so DAGP'snoIsolation()worker resolves the newer reader instead of its own bundled 2.2.21. This is the interim workaround from dependency-analysis-gradle-plugin#1661, endorsed by the plugin author, removable once upstream isolates this dependency onto its own worker classpath (#1719).Notes:
kotlin.Metadataversion 2.4.0. Every red run fails on the same task,:WordPress:explodeJarJetpackDebug(latest red #27686)../gradlew buildEnvironment: DAGP's ownkotlin-metadata-jvm:2.2.21dependency and the added entry resolve into the same buildscript classpath configuration, so Gradle's ordinary "highest version wins" conflict resolution upgrades both (2.2.21 -> 2.4.10).Caveats:
kotlin-metadata-jvmoverride is a TODO-flagged, removable shim, not a permanent fix. It should be deleted once DAGP ships #1719 and thedependency-analysiscatalog entry is bumped past it.Testing instructions
./gradlew buildHealthlocally on this branch and confirm it completes withBUILD SUCCESSFUL(noexplodeJar*metadata-version failures).PIPELINE=schedules/dependency-analysis.yml) to validate against the exact CI job that was failing.Dependency AnalysisBuild: 27699